home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
095
/
151b_exe.arc
/
WATCHDOG.ASM
< prev
next >
Wrap
Assembly Source File
|
1984-10-10
|
2KB
|
129 lines
PAGE 60,132
TITLE Watchdog - resets machine when carrier is lost
;
; WATCHDOG.COM 8/15/84 by James R. Reinders
;
; Update/Modification History (reverse order):
;
; 8/15/84 - Original program.
;
; The IBM Macro Assembler and Link will produce WATCHDOG.EXE
; which must be converted to a .COM program by the DOS
; EXE2BIN command:
;
; C\> EXE2BIN WATCHDOG.EXE WATCHDOG.COM
;
TRUE EQU 1
FALSE EQU 0
CSEG SEGMENT 'CODE'
ASSUME CS:CSEG
ORG 100H ; SET UP FOR .COM CONVERSION
INIT PROC FAR ; WE'RE AN INTERRUPT ROUTINE
JMP SHORT INITIAL ; SO WE HAVE TO SET UP FIRST
START PROC FAR ; Start of main routine - Timer (18.2 times per second)
ASSUME CS:CSEG,DS:CSEG
PUSH AX
MOV AL,CS:101H
OR AL,AL
JZ NOWAY
PUSH DX
MOV DX,2FEH
IN AL,DX
RCL AL,1
JNC LOSTCARR
POP DX
NOWAY: POP AX
DB 0EAH ; JMP old timer routine
WAS1Co DW 0
WAS1Cs DW 0
LOSTCARR:
DB 0EAH
DW 0
DW 0FFFFH
START ENDP
BUFFER DB ' Watchdog v1.0 8/15/84 by James R. Reinders'
DB 13,10,'$'
INITIAL:
MOV AX,CS
MOV DS,AX
MOV DX,OFFSET BUFFER
MOV AH,9
INT 21H ; PRINT GREETING
MOV AX,351CH
INT 21H
DOWHAT: XOR AL,AL
MOV SI,05DH
CMP BYTE PTR [SI],'O'
JNZ ONONON
CMP BYTE PTR [SI+1],'F'
JNZ ONONON
CMP BYTE PTR [SI+2],'F'
JNZ ONONON
CMP BYTE PTR [SI+3],' '
JZ OFFOFF
ONONON: INC AL
CMP WORD PTR ES:[BX],2E50H
JNZ PUTIN
OFFOFF: CMP WORD PTR ES:[BX],2E50H
MOV DX,OFFSET NODOG
JNZ PBYE
DEC BX
MOV ES:[BX],AL
MOV DX,OFFSET ACTIVE
OR AL,AL
JNZ PBYE
MOV DX,OFFSET NACTIVE
PBYE: MOV AH,9
INT 21H
INT 20H
PUTIN: MOV AX,ES
MOV WAS1Cs,AX
MOV CS:WAS1Co,BX
MOV AX,CS
MOV DS,AX
MOV DX,OFFSET START
MOV AX,251CH ; DOS ROUTINE TO RESET INT. VECTOR
INT 21H
MOV DX,OFFSET INSTAL
MOV AH,9
INT 21H
;
MOV DX,OFFSET BUFFER ; LAST ADDRESS HERE
INT 27H ; TERMINATE BUT STAY RESIDENT
INIT ENDP
INSTAL DB 'Watchdog installed and activated.',13,10,'$'
ACTIVE DB 'Watchdog activated.',13,10,'$'
NACTIVE DB 'Watchdog deactivated.',13,10,'$'
NODOG DB 'Watchdog not present OR'
DB ' another time utility loaded since watchdog.'
DB 13,10,'$'
CSEG ENDS
END INIT
NODOG DB 'Watchdog not present OR'
DB ' another time utility loaded since watchdog.'
DB 13,10,'$'